import Vue from 'vue'
import App from './App'

/*  引入公共操作类 */
import Common from './js_sdk/Common/Common.js';
Vue.prototype.$Common = Common

/*  配置网络请求 */
import { http } from '@/js_sdk/luch-request/index.js' // 全局挂载引入，配置相关在该index.js文件里修改
http.setConfig((config) => { /* 设置全局配置 */
	config.baseUrl = 'http://api-yj.119cp.cn/api/'; /* 根域名不同 */
	config.header = {
		a: 1,
		b: 2
	}
	return config
})
http.interceptor.request((config, cancel) => { /* 请求之前拦截器 */
	
	/*
	if (!token) { // 如果token不存在，调用cancel 会取消本次请求，但是该函数的catch() 仍会执行
		cancel('token 不存在') // 接收一个参数，会传给catch((err) => {}) err.errMsg === 'token 不存在'
	}
	*/
    if(Common.RUNTIME.ShowLoading){
		let text = Common.RUNTIME.LoaddingText? Common.RUNTIME.LoaddingText: '加载中，请稍后...';
		uni.showLoading({
			title: Common.RUNTIME.LoaddingText
		});
	}
	var headerData = {};
	//添加token
	if(app.$Common.USERINFO.access_token){
		headerData.Authorization = 'bearer ' + app.$Common.USERINFO.access_token;
	}
	
	config.header = headerData;
		
	return config;
})
http.interceptor.response((response) => { /* 请求之后拦截器 */
	//console.log(response);
	
	if(Common.RUNTIME.ShowLoading){
		Common.RUNTIME.LoaddingText = undefined;
		uni.hideLoading();
	}
	response.data = response.data?response.data:{};
	if(response.data.Code){
		return response.data;
	}
	else{  //如果返回的数据中不包含Code字段，把状态码加到数据中
		response.data.Code = response.statusCode;
		return response.data;
	}
	
	//return response;
})

Vue.prototype.$http = http
/*  配置网络请求结束 */

Vue.config.productionTip = false



App.mpType = 'app'

const app = new Vue({
    ...App
})
app.$mount()
app.$Common.init();
